package com.sxjh.service;

import cn.hutool.poi.excel.ExcelWriter;
import com.sxjh.entity.TrainBookedEntity;
import com.sxjh.entity.param.*;
import org.springframework.web.multipart.MultipartFile;

import javax.servlet.http.HttpServletResponse;
import java.io.InputStream;
import java.util.List;
import java.util.Map;


public interface ExcelService {

  /**
   * 生成Excel文件，并处理格式
   * @param exportType 导出类型
   * @param paramJson 请求参数
   */
  ExcelWriter createExcel(Integer exportType, String paramJson);

  // 甲醇厂-甲醇导出
  void jcExcel(Finance8Param param, HttpServletResponse response);

  // 甲醇厂-甲醇明细导出
  void jcMxExcel(Finance8List4Param param, HttpServletResponse response);

  /**
   * 磅单报表导出
   * @param param
   * @param response
   */
  void reportExcel(ScaleReportParam param, HttpServletResponse response);

  /**
   * 磅单分页报表导出
   * @param param
   * @param response
   */
  void reportBdFyExcel(ScaleReportParam param, HttpServletResponse response);

  Map<String,Object> importTrainBooked(List<TrainBookedEntity> entities,String belongsFactory);

  /**
   * 临时报表导出
   * @param param
   * @param response
   */
  void temporaryTransportExcel(TemporaryTransportParam param, HttpServletResponse response);

  /**
   * 内部倒运明细报表导出
   * @param param
   * @param response
   */
  void unloadDetailsExcel(UnloadLogListParam param, HttpServletResponse response);
}
